let root = {
    val: 'A',
    left: {
        val: 'B',
        left: {
            val: 'D'
        },
        right: {
            val: 'E'
        }
    },
    right: {
        val: 'C',
        right: {
            val: 'F'
        }
    }
}

//先序遍历
// function preorder(root) {
//     if(!root) {
//         return 
//     }
//     console.log('当前遍历的节点值是',root.val); // 根节点
//     preorder(root.left)
//     preorder(root.right)

// }
// preorder(root)

// 中序遍历
// function inorder(root) {
//     if(!root) {
//         return 
//     }
//     inorder(root.left)
//     console.log('当前遍历的节点值是',root.val); // 根节点
//     inorder(root.right)
// }
// inorder(root)


// 
function postorder(root) {
    if(!root) {
        return 
    }
    postorder(root.left)
    postorder(root.right)
    console.log('当前遍历的节点值是',root.val); // 根节点
    
}
postorder(root)